As digital media technology continues to advance and the cost of storage continues to decline, users increasingly host and consume digital media on their own primary computers (e.g., desktop PCs). Examples of such digital media include music, video, still pictures, and so on.
In addition, a corresponding increase in the availability of portable media playback devices such as personal digital assistants (PDAs), hand-held computers, laptop computers, and smart phones is providing users more ubiquitous access to information than ever. As users rely more and more on such portable computing devices, there is a growing need for applications that effectively transfer digital media from source devices, such as primary computers, to the portable devices.
In the past, transcoding digital media for use on portable media playback devices has been done “on-the-fly”, or at the time the media is being transferred from the source device (e.g., desktop PC). Transcoding typically includes altering a media file through one or more transcoding processes including, for example, converting a media file from one format to another (e.g., MP3 to WMA) so the file will play on the playback device, down-sampling the file to a lower bit rate to reduce the amount of storage space needed on the playback device, adapting the screen size of the file so video appears correctly on the playback device. One important reason for transcoding may be to convert a media file to a format having lower CPU requirements for decoding, since “desktop” content may be too complex to decode effectively on a device with a lower-powered processor, such as a portable media playback device. On-the-fly transcoding of digital media generally occurs during synchronization of media content between a source device such as a desktop PC and a target playback device, at the time the devices are connected together.
Although transcoding can be a time-consuming process, several factors have generally made the added time needed for on-the-fly transcoding during media transfers a reasonable inconvenience. For example, until recently, most portable media playback devices were audio-only devices supporting audio file formats such as MP3 and WMA. Transcoding (e.g., changing the bit rate and/or file format) a 3 minute song file while transferring it to a playback device adds only around 20 seconds to the transfer time. In addition, limited storage capability on a playback device limits the amount of media that can be transferred to the device, making the time required for transcoding less noticeable.
With portable media playback devices now able to hold gigabytes of content, however, in addition to more and more of these devices including video capability, the time required for transcoding media content while transferring it to a playback device can have a much greater adverse impact on the overall user experience. Transferring an increased amount of media content to fill a larger storage capacity on a newer device compounds the problem of the time-consuming transcode process noted above. In addition, transcoding video content for devices that provide video playback can be much more time intensive than transcoding audio content, which is primarily what has been transcoded for most media playback devices in the past. As an example, desktop video can consume disk space at rates in excess of 1 GB per hour, and the complexity of the video encoding process causes video transcoding to generally take between ½ and 2× “real time” to complete. Therefore, performing all file transcoding tasks at the actual time that media files are being transferred to a playback device may no longer be acceptable.
Accordingly, a need exists for a way to reduce the time required for transferring digital media content when synchronizing the content between a source device and a target media playback device.